@Transactional注解与try catch
全部标签 我正在使用JavaPoet编写代码生成器,需要在类上添加注释例如:packagesome.packageimportorg.hibernate.annotations.CacheConcurrencyStrategy;importjavax.persistence.Entity;importjavax.persistence.Cache@Entity@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)publicclassSomeClass{}我的代码是这样的:TypeSpecspec=TypeSpec.classBui
我了解Java中的基本注释,例如@Override等。Annotationsareonlymetadataandtheydonotcontainanybusinesslogic.我正在查看来自Oracle的重复注释documentation了解Java8新功能的页面。例如,您正在编写代码以使用“计时器服务,使您能够在给定时间或按特定计划运行方法,类似于UNIXcron服务”。现在你想设置一个定时器来运行一个方法,doPeriodicCleanup,在每个月的最后一天和每个星期五晚上11:00。要设置计时器运行,请创建一个@Schedule注释并将其应用两次到doPeriodicClea
我有以下实现。@TransactionalpublicvoidsaveAndGenerateResult(Datadata){saveDataInTableA(data.someAmountForA);saveDataInTableB(data.someAmountForB);callAnAggregatedFunction(data);}publicvoidsaveDataInTableA(DataAa){tableARepository.saveAndFlush(a);}publicvoidsaveDataInTableA(DataBb){tableBRepository.save
从xml解码到JAXB的Java类时,我想将“javax.xml.datatype.XMLGregorianCalendar”更改为“java.util.Date”。但我没有在Java类中放置任何@XmlJavaTypeAdapter的注释。所以,我打算尝试使用@XmlJavaTypeAdapters的注解,但我不知道如何使用它...请展示使用它的示例。 最佳答案 有趣的是,您实际上不需要将XMLGregorianCalendar调整为Date,因为JAXB本身支持java.util.Date——如下所示:@XmlAccessorT
以前,我习惯于手工声明一个wrapperannotation,用一个数组,然后这样调用它:@Foos({@Foo(0),@Foo(1),@Foo(2)})publicvoidbar(){}因为我是用{...}初始值设定项创建一个数组,当我稍后通过反射访问此方法时,很明显顺序与声明的顺序相同。但是,当我使用Java8中新的@Repeatable注释时,我能保证顺序会被保留吗?我声明了一组简单的注解:public@interfaceFoos{Foo[]value();}@Repeatable(Foos.class)public@interfaceFoo{intvalue();}并使用最多样
我有这个基于xml的配置。但是在我的项目中,我想使用基于java注解的配置。如何转换?resource.loader=classclass.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 最佳答案 创建一个用@Configuration(org.springframework.context.annotation.Configuration)注释的类,并为XML文件中的每个bean声明创建一个@此类中的
我们的代码是这样的:@Resource(name="java:comp/resource/foo/bar/ONE_QUEUE")privateQueuequeue;但是,在一个部署场景中,队列注释应该如下所示:@Resource(name="java:comp/resource/foo/bar/SECOND_QUEUE")privateQueuequeue;我想选择用于Maven构建配置文件的名称。我有哪些选择? 最佳答案 这不是做事的正确方法。应将资源添加到各个EJB的本地jndi名称。这是为了将bean代码中使用的jndi名称与
如何切换java注释?简单的功能切换:-如果(启用切换)做xSpring允许使用“配置文件”来切换bean。我使用它们,它们很好,但我想在字段或类上切换注释。我该怎么做?用例,我有一个带有jpa注释的类。我希望能够通过配置标记某些字段在某些环境中为@transient。 最佳答案 如前所述,尝试“禁用”注释虽然有可能,但并不是解决问题的最佳方法。正如AdrianShum所说,您应该改变框架处理注解的方式。在您的情况下,您的JPA实现(例如Hibernate)下应该有一些ORM提供程序。大多数ORM都有一些方法来提供自定义功能,例如在
我有几个用@Transactional注释的公共(public)方法,IntelliJ显示了它们可以是包私有(private)或私有(private)的警告。@TransactionalpublicvoiddoSomething(){///body}由于用@Transactional注释的方法应该是公开的,我如何在IntelliJ中禁用此检查/警告仅针对那些方法? 最佳答案 遗憾的是,不可能让所有用@Transactional注释的方法清除警告,尽管可以将@SuppressWarnings("WeakerAccess")添加到使警告
我的应用程序使用SpringAutowiring来配置bean。我刚刚尝试添加@Transactional并且似乎没有调用预期的代理。我希望PersonalController使用事务代理包装的UpdatePublicMapService调用UpdatePublicMapService。我看到的是PersonalController被实例化了两次。第一次它获得代理,但第二次它获得未代理的目标。我做错了什么?非常感谢您的帮助。网络.xml...contextConfigLocation/WEB-INF/applicationContext.xml,/WEB-INF/application